package com.xkcyy.climb.core.dto;


import lombok.Getter;

/**
 * 分页参数
 *
 * @author yuand
 * @date 2024/2/7
 */
@Getter
public class Page{

    /**
     * 当前页索引
     */
    private int pageIndex;

    /**
     * 当前页数据大小
     */
    private int pageSize;

    /**
     * 总记录数
     */
    private int total;

    /**
     * 无参构造函数，避免序列化错误
     */
    public Page() {
    }

    /**
     * 构造函数
     *
     * @param pageIndex 从1开始的索引页
     * @param pageSize  要返回的页面的大小。
     */
    public Page(int pageIndex, int pageSize) {
        this.pageIndex = pageIndex;
        this.pageSize = pageSize;
    }

    /**
     * 快速创建分页参数
     *
     * @param pageIndex 从0开始的索引页
     * @param pageSize  要返回的页面的大小。
     * @return 分页参数
     */
    public static Page by(int pageIndex, int pageSize) {
        return new Page(pageIndex, pageSize);
    }

}